package com.wswy.wzcx.jpush;

import android.content.Context;
import java.util.Set;



public interface IPushOperator {

  /**
   * 推送初始化
   * @param context
   */
  void initPush(Context context,boolean debug);

  /**
   * 设置alias 别名
   * @param context
   * @param alias
   */
  void setAlias(Context context, String alias, OnPushOperatorCallback<String> callback);

  /**
   * 删除别名
   * @param context
   * @param alias
   * @param callback
   */
  void deleteAlias(Context context, String alias, OnPushOperatorCallback<String> callback);

  /**
   * 添加tag
   * @param context
   * @param tag
   * @param callback
   */
  void addTag(Context context,String tag,OnPushOperatorCallback<Set<String>> callback);

  /**
   * 设置tag
   * @param context
   * @param tags
   */
  void setTags(Context context, Set<String> tags,OnPushOperatorCallback<Set<String>> callback);

  void deleteTags(Context context,Set<String> tags,OnPushOperatorCallback<Set<String>> callback);

  /**
   * 清除所有tag
   * @param context
   */
  void cleanTags(Context context, OnPushOperatorCallback<Boolean> callback);

  /**
   * 获取所有tag
   * @param context
   * @param callback
   */
  void getTags(Context context,OnPushOperatorCallback<Set<String>> callback);

  /**
   * 设置手机号
   * @param context
   * @param callback
   */
  void setMobileNumber(Context context,String mobileNumber,OnPushOperatorCallback<String> callback);

  void switchPush(Context context, boolean status);

  void stopPush(Context context);

  void resumePush(Context context);

  interface OnPushOperatorCallback<T>{
    void onOperatorCallback(T t);
  }
}
